/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.itschapala.ds2.cafeteria.bl;

import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import mx.itschapala.ds2.cafeteria.dao.UsuarioDaoLocal;
import mx.itschapala.ds2.cafeteria.enumeracion.EstadoUsuario;
import mx.itschapala.ds2.cafeteria.modelo.Usuario;


/**
 *
 * @author Santiago
 */
@Stateless
public class UsuarioBl implements UsuarioBlLocal {
    @EJB
    private UsuarioDaoLocal usuarioDao;
    private List<Usuario> usuario;
    // Add business logic below. (Right-click in editor and choose
    // "Insert Code > Add Business Method")
    
    @Override
    public EstadoUsuario register(Usuario user) {
        if (usuarioDao.findByDuplicity(user)) {
            return EstadoUsuario.INCOMPLETE;
        } else {
            usuarioDao.create(user);
            return EstadoUsuario.COMPLETE;
        }
    }

    @Override
    public EstadoUsuario modify(Usuario user) {
        if (user.getId() == null || usuarioDao.find(user.getId()) == null) {
            return EstadoUsuario.INCOMPLETE;
        } else {
            usuarioDao.edit(user);
            return EstadoUsuario.COMPLETE;
        }
    }

    @Override
    public EstadoUsuario delete(Usuario user) {
        if (user.getId() == null || usuarioDao.find(user.getId()) == null) {
            return EstadoUsuario.INCOMPLETE;
        } else {
            usuarioDao.remove(user);
            return EstadoUsuario.COMPLETE;
        }
    }

    @Override
    public List<Usuario> getAll() {
        return usuarioDao.findAll();
    }

    @Override
    public Usuario findById(Integer id) {
        return usuarioDao.find(id);
    }

    @Override
    public Usuario findByNoControl(Integer noControl) {
        Usuario ubusqueda = new Usuario();
        ubusqueda.setNoControl(noControl);
        Usuario u = usuarioDao.findByNoControl(ubusqueda);
        System.out.println("u============"+u);
        return u;
    }
    
    
    
}
